package com.github.utils;


import android.graphics.Color;

import java.util.List;
import java.util.Random;

/**
 * 颜色值工具类
 *
 * @author Mr.xie
 */
public class ColorsUtils {


    /**
     * 生成随机颜色 按照 colors列表长度 生成 - 亮色
     * @param size   生成 颜色的数量多少
     * @param colors 存储颜色的容器
     */
    public static void randomLightColors(int size, List<Integer> colors) {
        if (colors.size() >= size) return;

        int r = 210 + new Random().nextInt(56);   // 200-255
        int g = 210 + new Random().nextInt(56);
        int b = 210 + new Random().nextInt(56);
        int color = Color.rgb(r, g, b);

        if (!colors.contains(color)) {
            colors.add(color);
        }
        // 继续递归直到凑够数量
        randomLightColors(size, colors);
    }


    /**
     * 随机生成颜色  RGB
     *
     * @return 返回rgb三元数组
     */
    public static int[] randomRGB() {
        int r = (int) (Math.random() * 255 % 255);
        int g = (int) (Math.random() * 255 % 255);
        int b = (int) (Math.random() * 255 % 255);
        if (r == 255 && g == 255 && b == 255) {
            randomRGB();
        }
        return new int[]{r, g, b};
    }
}
